package com.student.course.service;

import com.student.common.entity.Course;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 * 课程服务接口
 * 
 * @author student
 * @date 2025
 */
public interface CourseService {
    
    /**
     * 获取课程列表
     */
    Page<Course> getCourseList(Pageable pageable, String courseName, String department, String courseType, String courseId, String status);
    
    /**
     * 根据ID获取课程
     */
    Course getCourseById(String courseId);
    
    /**
     * 新增课程
     */
    boolean addCourse(Course course);
    
    /**
     * 更新课程信息
     */
    boolean updateCourse(Course course);
    
    /**
     * 删除课程
     */
    boolean deleteCourse(String courseId);
    
    /**
     * 根据教师ID获取课程列表
     */
    Page<Course> getCoursesByTeacherId(Pageable pageable, String teacherId);
    
    /**
     * 获取课程总数
     */
    long getCourseCount();
}
